import { writeFile, readFileSync } from'fs';
import { app } from 'electron'
import path from 'path';
import logUtil from './log-util'

const logger = logUtil.getLogger('cron-config')

const filePath = path.join(app.getPath('userData'), 'config.json')
const defaultConfig = {
  enable: false,
  cronTime: '0 * * * * *',
  command: '',
  args: '',
  encoding: 'cp936',
}

function load() {
  try {
    let data = readFileSync(filePath)
    logger.info('从文件加载配置信息\n' + data)
    return JSON.parse(data)
  } catch (err) {
    logger.warn('从文件加载配置信息失败（已使用默认配置）：' + err)
    return defaultConfig
  }
}

async function save(config) {
  let data = JSON.stringify(config, null, 2)
  logger.info('保存配置信息到文件\n' + data)
  writeFile(filePath, data, (err) => {
    if (err) {
      logger.error('保存配置信息到文件失败：' + err)
    }
  })
}

export default {
  load,
  save,
}
